label: Flesh out pango attribute support
authorMatthias Clasen <mclasen@redhat.com>
Wed, 12 Aug 2015 00:57:52 +0000 (20:57 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 12 Aug 2015 00:57:52 +0000 (20:57 -0400)
A few attribute types were missing from the support:
rise, letterspacing, fallback, font features. Add support
for these.

gtk/gtklabel.c

index f3ab48553003ac463f5de35e86d0ec58cc056146..592d8bac1d32a47fbfeb645d82091131bf2d85b6 100644 (file)
@@ -1526,11 +1526,22 @@ G_GNUC_END_IGNORE_DEPRECATIONS
       if (gtk_builder_value_from_string_type (builder, G_TYPE_DOUBLE, value, &val, error))
        attribute = pango_attr_scale_new (g_value_get_double (&val));
       break;
-
-    case PANGO_ATTR_INVALID:
     case PANGO_ATTR_LETTER_SPACING:
+      if (gtk_builder_value_from_string_type (builder, G_TYPE_INT, value, &val, error))
+        attribute = pango_attr_letter_spacing_new (g_value_get_int (&val));
+      break;
     case PANGO_ATTR_RISE:
+      if (gtk_builder_value_from_string_type (builder, G_TYPE_INT, value, &val, error))
+        attribute = pango_attr_rise_new (g_value_get_int (&val));
+      break;
     case PANGO_ATTR_FALLBACK:
+      if (gtk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, value, &val, error))
+        attribute = pango_attr_fallback_new (g_value_get_boolean (&val));
+      break;
+    case PANGO_ATTR_FONT_FEATURES:
+      attribute = pango_attr_font_features_new (value);
+      break;
+    case PANGO_ATTR_INVALID:
     default:
       break;
     }